home *** CD-ROM | disk | FTP | other *** search
- Program DemoEditor;
-
- { Purpose....... Demonstrates the use of the following units: Editor
- Comments...... None
- Author........ Thayne Breetzke
- Date.......... 5 April 1994 }
-
- {$I-,V-}
-
- Uses
- Crt,
- Strings,
- Input,
- Screen,
- Cursor,
- Windows,
- Editor;
-
- Var
- Buffer : BufferPtr;
- Key : Char;
- Extended,
- HelpOn : Boolean;
- ErrorCode: Integer;
- CState : CStateRec;
-
-
- {$F+}
- Procedure UpdateProc(Var Key: Char; Var Extended: Boolean; UpdateVar: Word);
-
- Begin
- If (Key = #59) and not HelpOn then
- Begin
- HelpOn := True;
- SaveCursor(InsertKey,CState);
- CursorOff;
- OpenWindow(2,3,79,23,' Help ',' Press Esc to close this help window ',DoubleFrame,15+4*16,15+4*16,False);
- WriteMem(4,5,'Cursor Movement Commands');
- WriteMem(4,7,'Line up Up arrow');
- WriteMem(4,8,'Line down Down arrow');
- WriteMem(4,9,'Character left Left arrow');
- WriteMem(4,10,'Character right Right arrow');
- WriteMem(4,11,'Beginning of line Home');
- WriteMem(4,12,'End of line End');
- WriteMem(4,13,'Page up PgUp');
- WriteMem(41,7,'Page down PgDn');
- WriteMem(41,8,'Top of document Ctrl-Home');
- WriteMem(41,9,'End of document Ctrl-End');
- WriteMem(41,10,'Word left Ctrl-Left arrow');
- WriteMem(41,11,'Word right Ctrl-Right arrow');
- WriteMem(41,12,'Tab to left Shift-Tab');
- WriteMem(41,13,'Tab to right Tab');
- WriteMem(4,16,'Miscellaneous Commands');
- WriteMem(4,18,'Toggle insert Insert');
- WriteMem(4,19,'Delete character Delete');
- WriteMem(4,20,'Backspace Backspace');
- WriteMem(4,21,'Delete line Ctrl-Y');
- WriteMem(41,18,'Erase until end Ctrl-E');
- WriteMem(41,19,'Center line Ctrl-C');
- WriteMem(41,20,'Next line Enter (insert off)');
- WriteMem(41,21,'Insert line Enter (insert on)');
- GetKey(Key,Extended,[#27],[],True,True,UpdateProc,0);
- CloseWindow;
- RestoreCursor(CState);
- Key := #0;
- HelpOn := False
- end
- end;
- {$F-}
-
-
- Begin
- TextAttr := 7;
- CursorOff;
- HelpOn := False;
- ClearArea(1,1,80,25,7,'▒');
- DrawBox(4,2,77,4,'','',DoubleFrame,15+1*16,14+1*16,True);
- WriteMem(5,3,Center('The "Complete" Borland Turbo Pascal 6.0 Toolbox',72));
- WriteWinXY(1,25,CopyChar(' ',80),112);
- WriteWinXY(2,25,'F1',4+7*16);
- WriteWinXY(5,25,'Help',0+7*16);
- WriteWinXY(11,25,'Esc',4+7*16);
- WriteWinXY(15,25,'Exit',0+7*16);
- InitEditBuffer(Buffer,65520);
- LoadEditBuffer(Buffer,'sample.txt',ErrorCode);
- If ErrorCode <> 0 then
- ClearEditBuffer(Buffer);
- DrawBox(5,7,76,22,' Text Editor ','',SingleFrame,14+1*16,15+1*16,True);
- EditText(Buffer,6,8,70,14,[#32..#255],False,[#27],[],
- Key,Extended,True,AtStart,False,UpdateProc,0);
- If Buffer^.ChangesMade then
- SaveEditBuffer(Buffer,'sample.txt',ErrorCode);
- ClrScr;
- CursorOn(False);
- FreeEditBuffer(Buffer)
- end.
-
-
-